#ifndef __MAIN_H__
#define __MAIN_H__

const char* mqtt_server = "bemfa.com";  //默认，MQTT服务器
const int mqtt_server_port = 9501;      //默认，MQTT服务器

//*****可以修改的地方******//
String aptype = "006";                                  //001插座类型，002灯类型，003风扇类型，004传感器，005空调，006开关，009窗帘
String verSion = "1";                                   //1是mqtt协议，3是tcp协议,5是mqtt V2 版本，7是 tcp V2 版本
String adminID = "";                                    //默认空即可。企业id，企业用户可配置，用户会自动绑定到该企业下，获取id方法见接入文档5.17节
const int LED_Pin = 12;                                 //单片机控制的继电器引脚，或者LED引脚值，可自行修改，其他开发板，修改为自己的引脚，例如esp8266-01修改为const int LED_Pin = 0;
const int LedBlink = 13;                                //指示灯引脚，可自行修改，如果没有指示灯，建议删除指示灯相关代码
const int buttonPin = 3;                               //定义按钮引脚，可自行修改
bool ledState = true;                                   //led 状态
//**********************//

String topicMac = "";
int httpCode = 0;
String UID = "";
String TOPIC = "";
#define HOST_NAME "bemfa"
char config_flag = 0;
#define MAGIC_NUMBER 0xAA

long lastMsg = 0;
char msg[50];
int value = 0;
char buf[36];
/**
* 结构体，用于存储配网信息
*/
struct config_type {
  char stassid[32];
  char stapsw[64];
  char cuid[40];
  char ctopic[32];
  uint8_t reboot;
  uint8_t magic;
  char MACAddress[36];
};
config_type config;

//const char *MACAddress = "9A:6B:5D:4C:7E:3F";   //wake MAC

void getUid(String mac, bool reConfig);
void turnOnLed();
void turnOffLed();
void doSmartconfig();
void saveConfig();
void initWiFi();
void loadConfig();
void restoreFactory();
void waitKey();

#endif //  __MAIN_H__
